<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <title>Version 1.71.0</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel="icon" href="/favicon.ico" type="image/ico" />
  <link rel="stylesheet" type="text/css" href="/style-v2/section-boost.css" />

  <style type="text/css">
/*<![CDATA[*/
  #content .news-description ul {
    list-style: none;
  }
  #content .news-description ul ul {
    list-style: circle;
  }
  /*]]>*/
  </style>

  <!--[if IE 7]> <style type="text/css"> body { behavior: url(/style-v2/csshover3.htc); } </style> <![endif]-->
</head>
<!-- Don't edit this page! It's generated by site-tools/site-tools.py -->
<body>
  <div id="heading">
    <!--#include virtual="/common/heading.html" -->  </div>

  <div id="body">
    <div id="body-inner">
      <div id="content">
        <div class="section" id="intro">
          <div class="section-0">
            <div class="section-title">
              <h1>Version 1.71.0</h1>
            </div>

            <div class="section-body">
              <h2><span class=
              "news-title">Version 1.71.0</span></h2>

              <p><span class=news-date">August 19th, 2019 15:31 GMT</span></p>
              <p><a href="/doc/libs/1_71_0/">Documentation</a>
              <table class="download-table"><caption>Downloads</caption><tr><th scope="col">Platform</th><th scope="col">File</th><th scope="col">SHA256 Hash</th></tr>
<tr><th scope="row" rowspan="2">unix</th><td><a href="https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.bz2">boost_1_71_0.tar.bz2</a></td><td>d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee</td></tr><tr><td><a href="https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.gz">boost_1_71_0.tar.gz</a></td><td>96b34f7468f26a141f6020efb813f1a2f3dfb9797ecf76a7d7cbd843cc95f5bd</td></tr>
<tr><th scope="row" rowspan="2">windows</th><td><a href="https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.7z">boost_1_71_0.7z</a></td><td>1b3949ffddf56129141032542523920034f2e69775fb9332a52ba37c548dbf35</td></tr><tr><td><a href="https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.zip">boost_1_71_0.zip</a></td><td>85a94ac71c28e59cf97a96714e4c58a18550c227ac8b0388c260d6c717e47a69</td></tr></table>
              <div class="news-description">
                <div class="description">


  <div id="version_1_71_0.new_libraries">
    <h3><span class="link">New Libraries</span></h3>
    <ul>
      <li>
        <div>
          <span class="library"><a href="/libs/variant2/">Variant2</a>:</span> A never-valueless,
          strong guarantee implementation of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">variant</span></code>,
          from Peter Dimov.
        </div>
      </li>
    </ul>
  </div>
  <div id="version_1_71_0.updated_libraries">
    <h3><span class="link">Updated Libraries</span></h3>
    <ul>
      <li>
        <div>
          <span class="library"><a href="/libs/align/">Align</a>:</span>
          <ul>
            <li>
              <div>
                Support for any integral type in the integral versions of <code><span class="identifier">align_up</span></code> and <code><span class="identifier">align_down</span></code>.
              </div>
            </li>
            <li>
              <div>
                Revised the implementation of <code><span class="identifier">aligned_allocator</span></code>
                to no longer require a specialization for <code><span class="keyword">void</span></code>.
              </div>
            </li>
            <li>
              <div>
                Define <code><span class="identifier">propagate_on_container_move_assignment</span></code>
                and <code><span class="identifier">is_always_equal</span></code>
                in <code><span class="identifier">aligned_allocator</span></code>.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/asio/">Asio</a>:</span>
          <ul>
            <li>
              <div>
                Improved performance slightly by eliminating a redundant move construction
                when completed handlers are dispatched.
              </div>
            </li>
            <li>
              <div>
                Eliminated a compiler warning by annotating a <code><span class="keyword">case</span></code>
                fall-through in the free function <code><span class="identifier">connect</span><span class="special">()</span></code> implementation.
              </div>
            </li>
            <li>
              <div>
                Fixed the <code><span class="identifier">is_</span><span class="special">*</span><span class="identifier">_buffer_sequence</span></code> detection traits
                for user-defined sequence types.
              </div>
            </li>
            <li>
              <div>
                Fixed some Windows-specific warnings about an incompatible pointer
                cast when obtaining the <code><span class="identifier">CancelIoEx</span></code>
                entry point.
              </div>
            </li>
            <li>
              <div>
                Changed to automatically set the defaults when opening a serial port
                on Windows.
              </div>
            </li>
            <li>
              <div>
                Changed the serial port <code><span class="identifier">get_option</span><span class="special">()</span></code> member function to be const.
              </div>
            </li>
            <li>
              <div>
                Fixed a name hiding issue with the WinRT stream-oriented socket backend's
                <code><span class="identifier">shutdown</span></code> function.
              </div>
            </li>
            <li>
              <div>
                Applied a minor fix to the documentation for <code><span class="identifier">is_dynamic_buffer</span></code>.
              </div>
            </li>
            <li>
              <div>
                Added some support for Haiku OS.
              </div>
            </li>
            <li>
              <div>
                Added wolfSSL compatability.
              </div>
            </li>
            <li>
              <div>
                Changed to require C++17 or later for coroutines TS support with
                clang.
              </div>
            </li>
            <li>
              <div>
                Fixed a doxygen generation problem in the tutorial.
              </div>
            </li>
            <li>
              <div>
                Ensured example programs are correctly incorporated into the documentation.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/any/">Any</a>:</span>
          <ul>
            <li>
              <div>
                Static initialization of the default constructed <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">any</span></code>
                is now possible.
              </div>
            </li>
            <li>
              <div>
                Fixed performance regression in assignment on a compilers without
                move-semantics.
              </div>
            </li>
            <li>
              <div>
                Maintenance work.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/beast/">Beast</a>:</span>
          <ul>
            <li>
              <div>
                This version consists mostly of bug fixes and performance improvements.
              </div>
            </li>
            <li>
              <div>
                Substantial work included for the split compilation mode, to reduce
                compile time when defining <code><span class="identifier">BOOST_BEAST_SEPARATE_COMPILATION</span></code>.
              </div>
            </li>
            <li>
              <div>
                We'd love to know how you or your company use Beast, consider adding
                an item to the <a href="https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast">Companies
                and Individuals Using Beast</a> list.
              </div>
            </li>
            <li>
              <div>
                See the full <a href="/libs/beast/doc/html/beast/release_notes.html">Release
                Notes</a> for a complete list of changes.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/circular_buffer/">Circular Buffer</a>:</span>
          <ul>
            <li>
              <div>
                Correct doxygen generated reference to no longer show internal members.
                (Glen Fernandes)
              </div>
            </li>
            <li>
              <div>
                Eliminate ubsan warning on <code><span class="identifier">add</span></code>
                and <code><span class="identifier">sub</span></code>. (Glen Fernandes)
              </div>
            </li>
            <li>
              <div>
                Fix incorrect check in <code><span class="identifier">is_uninitialized</span></code>.
                (Niklas Fejes)
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/container/">Container</a>:</span>
          <ul>
            <li>
              <div>
                Fixed bugs:
                <ul>
                  <li>
                    <div>
                      <a href="https://github.com/boostorg/container/pull/47">GitHub
                      #47: <em>"added alignment specification for small_vector"</em></a>.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/boostorg/container/issues/88">GitHub
                      #88: <em>"Implement C++17 MoveAssignable requirements
                      for self-move assignments"</em></a>.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/boostorg/container/issues/107">GitHub
                      #107: <em>"Alignment ignored in resource_adaptor"</em></a>.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/boostorg/container/pull/109">GitHub
                      #109: <em>"Get rid of integer overflow in copy_move_algo.hpp
                      (-fsanitize=integer)"</em></a>.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/boostorg/container/pull/110">GitHub
                      #110: <em>"Avoid gcc 9 deprecated copy warnings
                      in new_allocator.hpp"</em></a>.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/boostorg/container/issues/112">GitHub
                      #112: <em>"vector::resize() compilation error with
                      msvc-10..12: data is not a member of boost::detail::aligned_storage"</em></a>.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/boostorg/container/issues/114">GitHub
                      #114: <em>"Fix small_vector noexcept specification"</em></a>.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/boostorg/container/issues/116">GitHub
                      #116: <em>"MSVC + boost 1.70 compilation error when
                      windows.h is already included (detail/thread_mutex.hpp)"</em></a>.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/boostorg/container/issues/117">GitHub
                      #117: <em>"flat_map/map::insert_or_assign with hint
                      has wrong return types"</em></a>.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/boostorg/container/issues/118">GitHub
                      #118: <em>"Non-unique inplace_set_difference used
                      in in flat_tree_merge_unique and iterator invalidation in insert_unique"</em></a>.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/boostorg/container/issues/122">GitHub
                      #122: <em>"Fix has_trivial_destructor_after_move"</em></a>.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/boostorg/container/issues/123">GitHub
                      #123: <em>"With heterogeneous lookup, <code><span class="identifier">equal_range</span></code> can result in
                      a range with length greater than 1"</em></a>.
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                <code>deque</code> can now
                have options, using <code>deque_options</code>.
                The block size/bytes can be be specified.
              </div>
            </li>
            <li>
              <div>
                <code>static_vector</code>
                can now have options, using <code>static_vector_options</code>.
                Alignment and throwing behaviour can be be specified.
              </div>
            </li>
            <li>
              <div>
                <code>small_vector</code>
                can now have options, using <code>small_vector_options</code>.
                Alignment and growth factor can be be specified.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/context/">Context</a>:</span>
          <ul>
            <li>
              <div>
                Add support for RISC-V LP64D
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/context/issues/72">#72</a>: Fix ABI violation on ppc64 ELFv2
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/context/issues/99">#99</a>: cleanup of stack if creating ucontext fails
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/conversion/">Conversion</a>:</span>
          <ul>
            <li>
              <div>
                Maintenance work.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/core/">Core</a>:</span>
          <ul>
            <li>
              <div>
                Added functions <code><span class="identifier">alloc_construct</span></code>,
                <code><span class="identifier">alloc_construct_n</span></code>,
                <code><span class="identifier">alloc_destroy</span></code>, and
                <code><span class="identifier">alloc_destroy_n</span></code> in
                <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">alloc_construct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> for allocator aware and exception
                safe construction and destruction of objects and arrays. (Glen Fernandes)
              </div>
            </li>
            <li>
              <div>
                Added constexpr functions <code><span class="identifier">first_scalar</span></code>
                in <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">first_scalar</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> for obtaining a pointer to the
                first scalar element of an array. Given a pointer of type <code><span class="identifier">T</span><span class="special">*</span></code>
                they return a pointer of type <code><span class="identifier">remove_all_extents_t</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;*</span></code>. (Glen Fernandes)
              </div>
            </li>
            <li>
              <div>
                Added class template <code><span class="identifier">noinit_adaptor</span></code>
                in <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">noinit_adaptor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> which is an allocator adaptor
                that converts any allocator into one whose <code><span class="identifier">construct</span><span class="special">(</span><span class="identifier">ptr</span><span class="special">)</span></code> performs default initialization
                via placement new, and whose <code><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">ptr</span><span class="special">)</span></code> invokes the <code><span class="identifier">value_type</span></code>
                destructor directly. (Glen Fernandes)
              </div>
            </li>
            <li>
              <div>
                Added class template <code><span class="identifier">default_allocator</span></code>
                in <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">default_allocator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>, which can serve as a minimal
                default allocator that has interface similar to C++20 <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span></code>, supports configurations
                with disabled exceptions and does not have <code><span class="identifier">std</span></code>
                as an associated namespace. The allocator uses <code><span class="keyword">operator</span>
                <span class="keyword">new</span></code> and <code><span class="keyword">operator</span>
                <span class="keyword">delete</span></code> for allocation. (Glen
                Fernandes)
              </div>
            </li>
            <li>
              <div>
                In <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">uncaught_exceptions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> header, added workarounds for
                better compatibility with QNX SDP 7.0 when libc++/libc++abi libraries
                are used. (Andrey Semashev, <a href="https://github.com/boostorg/core/issues/59">#59</a>)
              </div>
            </li>
            <li>
              <div>
                The <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">sp_typeinfo</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> header is now marked as deprecated
                and will be removed in a future release. <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">typeinfo</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                should be used instead. (Peter Dimov)
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/dynamic_bitset/">Dynamic Bitset</a>:</span>
          <ul>
            <li>
              <div>
                Enabled hardware-assisted popcount on MSVC (<a href="https://github.com/boostorg/dynamic_bitset/pull/38">PR#38</a>).
              </div>
            </li>
            <li>
              <div>
                Added support for boost::hash and std::hash (<a href="https://github.com/boostorg/dynamic_bitset/pull/45">PR#45</a>).
              </div>
            </li>
            <li>
              <div>
                Support copy-initialization with default constructor (<a href="https://github.com/boostorg/dynamic_bitset/pull/48">PR#48</a>).
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/endian/">Endian</a>:</span>
          <ul>
            <li>
              <div>
                Clarified requirements on the value type template parameter
              </div>
            </li>
            <li>
              <div>
                Added support for <code><span class="keyword">float</span></code>
                and <code><span class="keyword">double</span></code>
              </div>
            </li>
            <li>
              <div>
                Added <code><span class="identifier">endian_load</span></code>,
                <code><span class="identifier">endian_store</span></code>
              </div>
            </li>
            <li>
              <div>
                Updated <code><span class="identifier">endian_reverse</span></code>
                to correctly support all non-<code><span class="keyword">bool</span></code>
                integral types
              </div>
            </li>
            <li>
              <div>
                Moved deprecated names to the deprecated header <code><span class="identifier">endian</span><span class="special">.</span><span class="identifier">hpp</span></code>
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/fiber/">Fiber</a>:</span>
          <ul>
            <li>
              <div>
                documentation for shared_work updated
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/filesystem/">Filesystem</a>:</span>
          <ul>
            <li>
              <div>
                Fixed incorrect <code><span class="identifier">error_code</span></code>
                returned from directory iterator increment when <code><span class="identifier">readdir_r</span></code>
                is used.
              </div>
            </li>
            <li>
              <div>
                For <code><span class="identifier">path</span></code>, fixed rvalue-aware
                <code><span class="keyword">operator</span><span class="special">/</span></code>
                return type to return an rvalue instead of rvalue reference. This
                fixes leaving a dangling reference in the user's code if the result
                of <code><span class="keyword">operator</span><span class="special">/</span></code>
                is bound to a const reference. (<a href="https://github.com/boostorg/filesystem/issues/110">#110</a>)
              </div>
            </li>
            <li>
              <div>
                Fixes for better compatibility with Windows CE. (<a href="https://github.com/boostorg/filesystem/pull/24">PR#24</a>)
              </div>
            </li>
            <li>
              <div>
                Added minimal support for CMake. (<a href="https://github.com/boostorg/filesystem/pull/106">PR#106</a>)
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/flyweight/index.html">Flyweight</a>:</span>
          <ul>
            <li>
              <div>
                Maintenance work.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/histogram/index.html">Histogram</a>:</span>
          <ul>
            <li>
              <div>
                New features:
                <ul>
                  <li>
                    <div>
                      Support for thread-safe storages and new thread-safe accumulators
                    </div>
                  </li>
                  <li>
                    <div>
                      Support for compiling without exceptions/RTTI (increases performance
                      by 10-20 %) (with Glen Fernandes)
                    </div>
                  </li>
                  <li>
                    <div>
                      Performance improvements for 1D and 2D histograms
                    </div>
                  </li>
                  <li>
                    <div>
                      boost::histogram::indexed now returns forward iterator range
                      instead of input iterator range
                    </div>
                  </li>
                  <li>
                    <div>
                      boost::histogram::indexed_range::accessor is now non-copyable
                      and acts like reference to cell value, making more algorithms
                      from the C++ stdlib work
                    </div>
                  </li>
                  <li>
                    <div>
                      boost::histogram::algorithm::reduce with new slice option and
                      option fusion
                    </div>
                  </li>
                  <li>
                    <div>
                      boost::histogram::algorithm::project accepts runtime indices
                      for static histograms
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Bug Fixes:
                <ul>
                  <li>
                    <div>
                      boost::histogram::algorithm::reduce also works on histograms
                      that have some axis types without reduction support
                    </div>
                  </li>
                  <li>
                    <div>
                      boost::histogram::axis::traits::update now works correctly
                      for boost::histogram::axis::variant
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Other:
                <ul>
                  <li>
                    <div>
                      100 % test coverage
                    </div>
                  </li>
                  <li>
                    <div>
                      Reduced internal Boost dependencies
                    </div>
                  </li>
                  <li>
                    <div>
                      Improved documentation and examples
                    </div>
                  </li>
                  <li>
                    <div>
                      Guaranteed no-throw moves for all builtin axis types
                    </div>
                  </li>
                  <li>
                    <div>
                      Compile cleanly at higher warning levels
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                See <a href="/libs/histogram/doc/html/histogram/history.html">changelog</a>
                for more details.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/iostreams/">IoStreams</a>:</span>
          <ul>
            <li>
              <div>
                Fixed processing of multi-stream files (<a href="https://github.com/boostorg/iostreams/pull/87">PR#87</a>).
              </div>
            </li>
            <li>
              <div>
                Added support for multi-threaded LZMA (<a href="https://github.com/boostorg/iostreams/pull/95">PR#95</a>).
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/interprocess/">Interprocess</a>:</span>
          <ul>
            <li>
              <div>
                <a href="https://github.com/boostorg/interprocess/pull/85">GitHub
                #85 (<em>"warning: Implicit conversion loses integer precision"</em>)</a>.
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/interprocess/pull/86">GitHub
                #86 (<em>"warning: Possible misuse of comma operator"</em>)</a>.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/intrusive/">Intrusive</a>:</span>
          <ul>
            <li>
              <div>
                <a href="https://github.com/boostorg/intrusive/pull/42">GitHub
                #42: <em>Documentation does not describe treap priority_of_value
                changes</em></a>
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/intrusive/pull/43">GitHub
                #43: <em>Fix tests with BOOST_INTRUSIVE_VARIADIC_TEMPLATES
                enabled</em></a>
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/intrusive/pull/45">GitHub
                #45: <em>Disable variadic templates for MSVC-12 to avoid ICEs</em></a>
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/lexical_cast/">LexicalCast</a>:</span>
          <ul>
            <li>
              <div>
                Added tests for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">path</span></code>
                conversions <a href="https://github.com/boostorg/lexical_cast/issues/25">#25</a>.
              </div>
            </li>
            <li>
              <div>
                Maintenance work, including <a href="https://github.com/boostorg/lexical_cast/issues/28">#28</a>.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/log/">Log</a>:</span>
          <ul>
            <li>
              <div>
                New features:
                <ul>
                  <li>
                    <div>
                      Improved support for C++17 <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>
                      in <code><span class="identifier">basic_formatting_ostream</span></code>.
                      The string view can now participate in character code conversion
                      on output.
                    </div>
                  </li>
                  <li>
                    <div>
                      Added <code><span class="identifier">auto_newline</span></code>
                      formatter and stream manipulator. It can be used to ensure
                      that formatted output always ends with a newline while avoiding
                      duplicate newlines.
                    </div>
                  </li>
                  <li>
                    <div>
                      In the output stream, text file and text multi-file sink backends
                      added support for configuring behavior with regard to appending
                      a trailing newline to every formatted log record. Use <code><span class="identifier">auto_newline_mode</span></code> named parameter
                      of the backend constructor or call the <code><span class="identifier">set_auto_newline_mode</span></code>
                      method on the sink backend.
                    </div>
                  </li>
                  <li>
                    <div>
                      <strong>Note:</strong> The default behavior
                      with regard to trailing newlines added by sink backends has
                      changed slightly compared to the previous Boost.Log releases.
                      The backends will now only add a trailing newline if there
                      isn't one in the formatted log message string already. In previous
                      releases a newline was added unconditionally.
                    </div>
                  </li>
                  <li>
                    <div>
                      Added support for passing arbitrary function objects in the
                      <code><span class="identifier">filter</span></code> and
                      <code><span class="identifier">format</span></code> named
                      parameters to sink constructors and convenience functions for
                      initializing sinks. For example, it is now possible to specify
                      C++11 lambda functions directly in these parameters. (<a href="https://github.com/boostorg/log/issues/63">#63</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      In the default filter and formatter factories used in filter
                      and formatter parsers, added support for severity level attribute
                      values of type <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">log</span><span class="special">::</span><span class="identifier">trivial</span><span class="special">::</span><span class="identifier">severity_level</span></code>.
                      For filters, the support is limited to attributes with "Severity"
                      name.
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Bug fixes:
                <ul>
                  <li>
                    <div>
                      Fixed incorrect parsing of components of the rotated file names
                      while scanning for files in the text file sink backend. If
                      the file name pattern ended with a placeholder (for example,
                      a file counter), the <code><span class="identifier">scan_for_files</span></code>
                      method would not find files matching that pattern in the target
                      storage, leaving them unmanaged. In particular, such files
                      would not be deleted to free target storage. (<a href="https://github.com/boostorg/log/issues/78">#78</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Updated <code><span class="identifier">basic_formatting_ostream</span></code>
                      and <code><span class="identifier">basic_record_ostream</span></code>
                      to make it possible to overload stream output operators for
                      pointers to user-defined types. User-defined <code><span class="keyword">operator</span><span class="special">&lt;&lt;</span></code>
                      overloads taking <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span></code>
                      and a pointer argument should now be picked up by the compiler
                      when the pointer is being written to one of Boost.Log streams.
                      (<a href="https://github.com/boostorg/log/issues/84">#84</a>)
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                See <a href="/libs/log/doc/html/log/changelog.html">changelog</a>
                for more details.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/math/">Math</a>:</span>
          <ul>
            <li>
              <div>
                New features:
                <ul>
                  <li>
                    <div>
                      Catmull-Rom interpolator now works in C++11
                    </div>
                  </li>
                  <li>
                    <div>
                      Cardinal quadratic B-spline interpolation
                    </div>
                  </li>
                  <li>
                    <div>
                      Domain of elliptic integrals extended
                    </div>
                  </li>
                  <li>
                    <div>
                      sin_pi and cos_pi performance improvements
                    </div>
                  </li>
                  <li>
                    <div>
                      Forward-mode automatic differentiation
                    </div>
                  </li>
                  <li>
                    <div>
                      Vector valued barycentric rational interpolation
                    </div>
                  </li>
                  <li>
                    <div>
                      Ooura's method for evaluation of Fourier integrals
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Bug fixes:
                <ul>
                  <li>
                    <div>
                      Multiple compatibility issues with Multiprecision fixed
                    </div>
                  </li>
                  <li>
                    <div>
                      Lambert-W fixed on a rare architecture
                    </div>
                  </li>
                </ul>
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/metaparse/">Metaparse</a>:</span>
          <ul>
            <li>
              <div>
                New features:
                <ul>
                  <li>
                    <div>
                      In C++11 variadic template support for the following: <code><span class="identifier">sequence</span></code>, <code><span class="identifier">one_of_c</span></code>,
                      <code><span class="identifier">one_of</span></code>, <code><span class="identifier">repeated_one_of</span></code>, <code><span class="identifier">repeated_one_of1</span></code>, <code><span class="identifier">one_char_except_c</span></code>, <code><span class="identifier">one_char_except</span></code>.
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Bug fixes:
                <ul>
                  <li>
                    <div>
                      <code><span class="identifier">BOOST_METAPARSE_STRING</span></code>
                      does not use out of range character values as template arguments.
                    </div>
                  </li>
                  <li>
                    <div>
                      <code><span class="identifier">any_of_c</span><span class="special">&lt;&gt;</span></code>
                      does not create empty array in C++14.
                    </div>
                  </li>
                </ul>
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/move/">Move</a>:</span>
          <ul>
            <li>
              <div>
                <a href="https://github.com/boostorg/move/issues/26">Git Issue
                #26: <em>"Invalid iterator increment/decrement in the
                last iteration of adaptive_sort_combine_blocks"</em></a>.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/multi_array/">Multi Array</a>:</span>
          <ul>
            <li>
              <div>
                Simplify allocator support by using new <code><span class="identifier">alloc_construct_n</span></code>
                and <code><span class="identifier">alloc_destroy_n</span></code>
                facilities from Core. (Glen Fernandes)
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/multi_index/">Multi-index Containers</a>:</span>
          <ul>
            <li>
              <div>
                Added <a href="/libs/multi_index/doc/tutorial/key_extraction.html#x_mem_fun">variants
                of <code><span class="identifier">const_mem_fun</span></code>
                and <code><span class="identifier">mem_fun</span></code></a>
                for differently qualified member functions (issue <a href="https://github.com/boostorg/multi_index/issues/24">#24</a>).
              </div>
            </li>
            <li>
              <div>
                Terse <a href="/libs/multi_index/doc/reference/key_extraction.html#key"><code><span class="identifier">key</span></code></a> specification syntax
                now correctly handles <code><span class="keyword">noexcept</span></code>-specified
                member functions (issue <a href="https://github.com/boostorg/multi_index/issues/24">#24</a>).
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/outcome/">Outcome</a>:</span>
          <ul>
            <li>
              <div>
                Enhancements:
                <ul>
                  <li>
                    <div>
                      <a href="https://github.com/ned14/outcome/issues/184">#184</a>
                      As per request from Boost release managers, relocated <code><span class="identifier">version</span><span class="special">.</span><span class="identifier">hpp</span></code> and <code><span class="identifier">revision</span><span class="special">.</span><span class="identifier">hpp</span></code>
                      into detail, and added the Boost licence boilerplate to the
                      top of every source file which was missing one (I think). Also
                      took the opportunity to run the licence restamping script over
                      all Outcome, so copyright dates are now up to date.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/ned14/outcome/issues/185">#185</a>
                      Add FAQ item explaining issue #185, and why we will do nothing
                      to fix it right now.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/ned14/outcome/issues/189">#189</a>
                      Refactored the <code><span class="identifier">OUTCOME_TRY</span></code>
                      implementation to use more clarified customisation points capable
                      of accepting very foreign inputs. Removed the <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">expected</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span>
                      <span class="identifier">E</span><span class="special">&gt;</span></code>
                      specialisations, as those are no longer necessary. Fixed the
                      documentation for the customisation points which previously
                      claimed that they are ADL discovered, which they are not. Added
                      a recipe describing how to add in support for foreign input
                      types.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/ned14/outcome/issues/183">#183</a>
                      Added a separate <code><span class="identifier">motivation</span><span class="special">/</span><span class="identifier">plug_error_code</span></code>
                      specifically for Boost.
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Bug fixes:
                <ul>
                  <li>
                    <div>
                      <code><span class="identifier">OUTCOME_VERSION_MINOR</span></code>
                      hadn't been updated to 1.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/ned14/outcome/issues/181">#181</a>
                      Fix issue #181 where Outcome didn't actually implement the
                      strong swap guarantee, despite being documented as doing so.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/ned14/outcome/issues/190">#190</a>
                      Fix issue #190 in Boost edition where unit test suite was not
                      runnable from the Boost release distro.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/ned14/outcome/issues/182">#182</a>
                      Fix issue #182 where <code><span class="identifier">trait</span><span class="special">::</span><span class="identifier">is_exception_ptr_available</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> was always true, thus causing
                      much weirdness, like not printing diagnostics and trying to
                      feed everything to <code><span class="identifier">make_exception_ptr</span><span class="special">()</span></code>.
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://github.com/ned14/outcome/issues/192">#192</a>
                      Fix issue #192 where the <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_outcome_failure_exception_from_error</span><span class="special">()</span></code> was being defined twice for
                      translation units which combine standalone and Boost Outcome's.
                    </div>
                  </li>
                </ul>
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/parameter/doc/html/index.html">Parameter</a>:</span>
          <ul>
            <li>
              <div>
                Upgraded keyword generation macro <code><span class="identifier">BOOST_PARAMETER_TEMPLATE_KEYWORD</span></code>
                (<a href="https://github.com/boostorg/parameter/pull/15">PR#15</a>).
              </div>
            </li>
            <li>
              <div>
                Moved keyword generation macro <code><span class="identifier">BOOST_PARAMETER_NESTED_KEYWORD</span></code>
                from <a href="/libs/accumulators/doc/html/index.html">Accumulators</a>
                to this library (<a href="https://github.com/boostorg/parameter/pull/28">PR#28</a>).
              </div>
            </li>
            <li>
              <div>
                Added support for <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">reference_wrapper</span></code>
                and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">ref</span><span class="special">()</span></code>
                (<a href="https://github.com/boostorg/parameter/pull/16">PR#16</a>).
              </div>
            </li>
            <li>
              <div>
                Moved <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">required</span></code>, <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">optional</span></code>,
                and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">deduced</span></code> metafunction definitions
                to their own header files in directory boost/parameter (<a href="https://github.com/boostorg/parameter/pull/18">PR#18</a>).
              </div>
            </li>
            <li>
              <div>
                Added support for Boost.<a href="/libs/parameter/doc/html/index.html">Parameter</a>-enabled
                function call operators (<a href="https://github.com/boostorg/parameter/pull/20">PR#20</a>).
              </div>
            </li>
            <li>
              <div>
                Added support for parameter category qualifiers "forward",
                "consume", and "move_from" (current qualifiers
                are "in", "out", and "in_out") (<a href="https://github.com/boostorg/parameter/pull/21">PR#21</a>)
                (<a href="https://github.com/boostorg/parameter/pull/23">PR#23</a>) based on <a href="http://www.modernescpp.com/index.php/c-core-guidelines-how-to-pass-function-parameters">http://www.modernescpp.com/index.php/c-core-guidelines-how-to-pass-function-parameters</a>.
                Added new usage syntax <code><span class="identifier">BOOST_PARAMETER_NAME</span><span class="special">((</span><span class="identifier">object</span><span class="special">-</span><span class="identifier">name</span><span class="special">),</span> <span class="keyword">namespace</span><span class="special">-</span><span class="identifier">name</span><span class="special">)</span> <span class="identifier">qualifier</span><span class="special">(</span><span class="identifier">tag</span><span class="special">-</span><span class="identifier">name</span><span class="special">))</span></code> and <code><span class="identifier">BOOST_PARAMETER_NAME</span><span class="special">(</span><span class="identifier">qualifier</span><span class="special">(</span><span class="identifier">name</span><span class="special">))</span></code>. (Existing code that uses qualifiers
                directly and correctly with <code><span class="identifier">BOOST_PARAMETER_FUNCTION</span></code>
                and other code generation macros should remain unaffected for now,
                so no breaking changes.) The reason for the change in usage is to
                enable applying of parameter category constraints to Boost.<a href="/libs/parameter/doc/html/index.html">Parameter</a>-enabled
                functions and constructors invoked through argument composition.
                (Otherwise, it is currently possible to use argument composition
                to bypass parameter category constraints applied in <code><span class="identifier">BOOST_PARAMETER_FUNCTION</span></code> et. al.)
              </div>
            </li>
            <li>
              <div>
                Added support for perfect forwarding (<a href="https://github.com/boostorg/parameter/pull/23">PR#23</a>) (<a href="https://github.com/boostorg/parameter/pull/26">PR#26</a>),
                so that <code><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">parameters</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code> can accept non-<code><span class="keyword">const</span></code>
                rvalues. As a positive side effect, Boost.<a href="/libs/parameter/doc/html/index.html">Parameter</a>-enabled
                functions and constructors are no longer bound by <code><span class="identifier">BOOST_PARAMETER_MAX_ARITY</span></code>
                on compilers that support perfect forwarding. User code can now check
                for this support by detecting the configuration macro <code><span class="identifier">BOOST_PARAMETER_HAS_PERFECT_FORWARDING</span></code>,
                or manually turn off this support by defining the configuration macro
                <code><span class="identifier">BOOST_PARAMETER_DISABLE_PERFECT_FORWARDING</span></code>.
              </div>
            </li>
            <li>
              <div>
                Added metafunctions <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">is_argument_pack</span></code>
                (<a href="https://github.com/boostorg/parameter/pull/27">PR#27</a>), <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">are_tagged_arguments</span></code>
                (<a href="https://github.com/boostorg/parameter/pull/52">PR#52</a>), and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">compose</span></code>
                (<a href="https://github.com/boostorg/parameter/pull/75">PR#75</a>).
              </div>
            </li>
            <li>
              <div>
                Added variadic function template <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">compose</span><span class="special">()</span></code> which takes in named arguments
                and returns them in an argument pack (<a href="https://github.com/boostorg/parameter/pull/52">PR#52</a>). For compilers
                that do not support perfect forwarding, the configuration macro
                <code><span class="identifier">BOOST_PARAMETER_COMPOSE_MAX_ARITY</span></code>
                determines the maximum number of arguments that <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">compose</span><span class="special">()</span></code> can take in (<a href="https://github.com/boostorg/parameter/pull/61">PR#61</a>).
              </div>
            </li>
            <li>
              <div>
                Added code generation macros <code><span class="identifier">BOOST_PARAMETER_BASIC_FUNCTION_CALL_OPERATOR</span></code>,
                <code><span class="identifier">BOOST_PARAMETER_BASIC_CONST_FUNCTION_CALL_OPERATOR</span></code>,
                <code><span class="identifier">BOOST_PARAMETER_NO_SPEC_FUNCTION</span></code>,
                <code><span class="identifier">BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION</span></code>,
                <code><span class="identifier">BOOST_PARAMETER_NO_SPEC_CONST_MEMBER_FUNCTION</span></code>,
                <code><span class="identifier">BOOST_PARAMETER_NO_SPEC_FUNCTION_CALL_OPERATOR</span></code>,
                <code><span class="identifier">BOOST_PARAMETER_NO_SPEC_CONST_FUNCTION_CALL_OPERATOR</span></code>,
                <code><span class="identifier">BOOST_PARAMETER_NO_SPEC_CONSTRUCTOR</span></code>,
                and <code><span class="identifier">BOOST_PARAMETER_NO_SPEC_NO_BASE_CONSTRUCTOR</span></code>
                (<a href="https://github.com/boostorg/parameter/pull/52">PR#52</a>).
              </div>
            </li>
            <li>
              <div>
                Added support for Boost.<a href="/libs/mp11/doc/html/mp11.html">MP11</a>
                (<a href="https://github.com/boostorg/parameter/pull/47">PR#47</a>) (<a href="https://github.com/boostorg/parameter/pull/66">PR#66</a>) (<a href="https://github.com/boostorg/parameter/pull/70">PR#70</a>). User code
                can now check for this support by detecting the configuration macro
                <code><span class="identifier">BOOST_PARAMETER_CAN_USE_MP11</span></code>,
                or manually turn off this support by defining the configuration macro
                <code><span class="identifier">BOOST_PARAMETER_DISABLE_MP11_USAGE</span></code>.
              </div>
            </li>
            <li>
              <div>
                Improved support for parameter-dependent return types via SFINAE
                (<a href="https://github.com/boostorg/parameter/pull/73">PR#73</a>).
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/ptr_container/">PtrContainer</a>:</span>
          <ul>
            <li>
              <div>
                Fix a ptr_vector regression introduced in 1.66.0 (<a href="https://github.com/boostorg/ptr_container/pull/24">PR#24</a>).
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/poly_collection/">PolyCollection</a>:</span>
          <ul>
            <li>
              <div>
                Maintenance work.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/smart_ptr/">SmartPtr</a>:</span>
          <ul>
            <li>
              <div>
                Added aliasing constructors to <code><span class="identifier">weak_ptr</span></code>
              </div>
            </li>
            <li>
              <div>
                Added <code><span class="identifier">weak_ptr</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">empty</span><span class="special">()</span></code>
              </div>
            </li>
            <li>
              <div>
                Added <code><span class="identifier">enable_shared_from</span></code>,
                <code><span class="identifier">shared_from</span></code>, and
                <code><span class="identifier">weak_from</span></code>
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/stacktrace/">Stacktrace</a>:</span>
          <ul>
            <li>
              <div>
                Fixed output of <code><span class="identifier">name</span><span class="special">()</span></code>, <code><span class="identifier">source_location</span><span class="special">()</span></code> and <code><span class="identifier">source_line</span><span class="special">()</span></code> for the default constructed <code><span class="identifier">frame</span></code> with thread sanitizer builds
                in C++98 mode.
              </div>
            </li>
            <li>
              <div>
                Fixed output of long strings from <code><span class="identifier">name</span><span class="special">()</span></code> and <code><span class="identifier">source_location</span><span class="special">()</span></code> on MSVC <a href="https://github.com/boostorg/stacktrace/issues/78">#78</a>.
              </div>
            </li>
            <li>
              <div>
                Maintenance work.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/test/">Test</a>:</span>
          <ul>
            <li>
              <div>
                Boost.test v3.11 see the <a href="libs/test/doc/html/boost_test/change_log.html">Changes
                log</a> for more details.
              </div>
            </li>
            <li>
              <div>
                Breaking changes:
                <ul>
                  <li>
                    <div>
                      Boost.Test shows deprecation warnings if some very old headers
                      as deprecated. If you encounter such warnings, please follow
                      the indications: those headers will be removed in a future
                      release.
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                New feature:
                <ul>
                  <li>
                    <div>
                      Now <code><span class="identifier">BOOST_TEST</span></code>
                      can be used to compare abstract types
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Bug fixes and pull requests:
                <ul>
                  <li>
                    <div>
                      GitHub Issues: <a href="https://github.com/boostorg/test/issues/209">#209</a>, <a href="https://github.com/boostorg/test/issues/218">#218</a>
                    </div>
                  </li>
                  <li>
                    <div>
                      GitHub Pull Requests: <a href="https://github.com/boostorg/test/pull/219">PR#219</a>, <a href="https://github.com/boostorg/test/pull/224">PR#224</a>
                    </div>
                  </li>
                </ul>
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/utility/">Utility</a>:</span>
          <ul>
            <li>
              <div>
                Implemented function template <code><span class="identifier">ostream_string</span></code>
                in <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">utility</span><span class="special">/</span><span class="identifier">ostream_string</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> to optimally write any kind of
                string content to an output stream. It satisfies the requirements
                of [ostream.formatted.reqmts]. (Glen Fernandes)
              </div>
            </li>
            <li>
              <div>
                Optimized the stream output operators of <code><span class="identifier">basic_string_view</span></code>
                and <code><span class="identifier">basic_string_ref</span></code>
                to write directly to the <code><span class="identifier">rdbuf</span></code>
                stream buffer. (Glen Fernandes)
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/uuid/">Uuid</a>:</span>
          <ul>
            <li>
              <div>
                <strong>Breaking change:</strong> MD5 name-based
                uuid generation was corrected to be identical on all endian systems.
                Define <code><span class="identifier">BOOST_UUID_COMPAT_PRE_1_71_MD5</span></code>
                to keep the result in a format compatible with 1.66 through 1.70.
                This does not affect the default name-based uuid generation which
                is based on SHA1. (<a href="https://github.com/boostorg/uuid/pull/109">PR#109</a>)
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/variant/">Variant</a>:</span>
          <ul>
            <li>
              <div>
                Fixed compilation of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">apply_visitor</span></code>
                with variants passed by non const reference in <a href="https://github.com/boostorg/variant/pull/68">PR#68</a>. Many
                thanks to Ed Catmur for providing the fix.
              </div>
            </li>
            <li>
              <div>
                Added support for std::hash (<a href="https://github.com/boostorg/variant/pull/49">PR#49</a>). Macro <code><span class="identifier">BOOST_VARIANT_DO_NOT_SPECIALIZE_STD_HASH</span></code>
                could be defined to avoid those specializations.
              </div>
            </li>
            <li>
              <div>
                Added micro optimizations for binary size and performance by Nikita
                Kniazev in <a href="https://github.com/boostorg/variant/pull/63">PR#63</a> and <a href="https://github.com/boostorg/variant/pull/66">PR#66</a>.
              </div>
            </li>
            <li>
              <div>
                Maintenance work, including <a href="https://github.com/boostorg/variant/pull/64">PR#64</a> by Nikita Kniazev and <a href="https://github.com/boostorg/variant/pull/67">PR#67</a> by
                Hans Dembinski.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/yap/">YAP</a>:</span>
          <ul>
            <li>
              <div>
                Added an example showing how to make self-evaluating YAP expressions
                (that is, expressions that don't need an explicit call to <code><span class="identifier">evaluate</span><span class="special">()</span></code>
                or <code><span class="identifier">transform</span><span class="special">()</span></code>).
              </div>
            </li>
          </ul>
        </div>
      </li>
    </ul>
  </div>
  <div id="version_1_71_0.compilers_tested">
    <h3><span class="link">Compilers Tested</span></h3>
    <p>
      Boost's primary test compilers are:
    </p>
    <ul>
      <li>
        <div>
          Linux:
          <ul>
            <li>
              <div>
                Clang: 3.0, 4.0.1, 6.0.1
              </div>
            </li>
            <li>
              <div>
                Clang, C++0x: 3.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 6.0.1, 7.0.0, 8.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.2,
                6.0.1, 7.0.0, 8.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
              </div>
            </li>
            <li>
              <div>
                GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 8.0.1
              </div>
            </li>
            <li>
              <div>
                GCC, C++0x: 4.4.7
              </div>
            </li>
            <li>
              <div>
                GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
              </div>
            </li>
            <li>
              <div>
                GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
              </div>
            </li>
            <li>
              <div>
                GCC, C++17: 7.3.0, 8.0.1
              </div>
            </li>
            <li>
              <div>
                Intel, C++14: 18.0
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          OS X:
          <ul>
            <li>
              <div>
                Apple Clang: 9.0.0, 9.1.0, 10.0.0
              </div>
            </li>
            <li>
              <div>
                Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
              </div>
            </li>
            <li>
              <div>
                Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
              </div>
            </li>
            <li>
              <div>
                Apple Clang, C++17: 9.1.0, 10.0.0
              </div>
            </li>
            <li>
              <div>
                Apple Clang, C++1z: 9.0.0
              </div>
            </li>
            <li>
              <div>
                Apple Clang, C++2a: 10.0.0
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          Windows:
          <ul>
            <li>
              <div>
                GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
              </div>
            </li>
            <li>
              <div>
                GCC, C++0x: 4.6.4
              </div>
            </li>
            <li>
              <div>
                GCC, C++11: 4.7.3, 4.8.1, 4.9.3
              </div>
            </li>
            <li>
              <div>
                GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
              </div>
            </li>
            <li>
              <div>
                GCC, C++17: 7.1.0, 7.2.0, 7.3.0
              </div>
            </li>
            <li>
              <div>
                Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          FreeBSD:
          <ul>
            <li>
              <div>
                Clang: 4.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++11: 4.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++14: 4.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++1z: 4.0.0
              </div>
            </li>
          </ul>
        </div>
      </li>
    </ul>
    <p>
      Boost's additional test compilers include:
    </p>
    <ul>
      <li>
        <div>
          Linux:
          <ul>
            <li>
              <div>
                Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.0.1
              </div>
            </li>
            <li>
              <div>
                Clang, C++0x: 3.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 6.0.1, 7.0.0, 8.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.2,
                6.0.1, 7.0.0, 8.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
              </div>
            </li>
            <li>
              <div>
                GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
              </div>
            </li>
            <li>
              <div>
                GCC, C++0x: 4.4.7
              </div>
            </li>
            <li>
              <div>
                GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
              </div>
            </li>
            <li>
              <div>
                GCC, C++14: 5.4.0, 5.5.0, 6.3.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1, 8.1.0
              </div>
            </li>
            <li>
              <div>
                GCC, C++17: 7.3.0, 8.0.1
              </div>
            </li>
            <li>
              <div>
                Intel, C++14: 18.0
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          OS X:
          <ul>
            <li>
              <div>
                Apple Clang: 9.0.0, 9.1.0, 10.0.0
              </div>
            </li>
            <li>
              <div>
                Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
              </div>
            </li>
            <li>
              <div>
                Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
              </div>
            </li>
            <li>
              <div>
                Apple Clang, C++17: 9.1.0, 10.0.0
              </div>
            </li>
            <li>
              <div>
                Apple Clang, C++1z: 9.0.0
              </div>
            </li>
            <li>
              <div>
                Apple Clang, C++2a: 10.0.0
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          Windows:
          <ul>
            <li>
              <div>
                GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
              </div>
            </li>
            <li>
              <div>
                GCC, C++0x: 4.6.4
              </div>
            </li>
            <li>
              <div>
                GCC, C++11: 4.7.3, 4.8.1, 4.9.3
              </div>
            </li>
            <li>
              <div>
                GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
              </div>
            </li>
            <li>
              <div>
                GCC, C++17: 7.1.0, 7.2.0, 7.3.0
              </div>
            </li>
            <li>
              <div>
                Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          FreeBSD:
          <ul>
            <li>
              <div>
                Clang: 4.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++11: 4.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++14: 4.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++1z: 4.0.0
              </div>
            </li>
          </ul>
        </div>
      </li>
    </ul>
  </div>
  <div id="version_1_71_0.acknowledgements">
    <h3><span class="link">Acknowledgements</span></h3>
    <p>
      Marshall Clow and Michael Caisse managed this release.
    </p>
  </div>
</div>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div id="sidebar">
        <!--#include virtual="/common/sidebar-common.html" --><!--#include virtual="/common/sidebar-boost.html" -->      </div>

      <div class="clear"></div>
    </div>
  </div>

  <div id="footer">
    <div id="footer-left">
      <div id="copyright">
        <p>Copyright Rene Rivera 2006-2007.</p>
      </div><!--#include virtual="/common/footer-license.html" -->    </div>

    <div id="footer-right">
      <!--#include virtual="/common/footer-banners.html" -->    </div>

    <div class="clear"></div>
  </div>
</body>
</html>
